Object model troubleshooter

In order to determine the structure of your Visual Basic project, Document! VB parses your source code.  This topic describes the logic the code parsers uses, so that you can troubleshoot any inconsistencies you may observe in the generated HTML Help file.

Relationships

Document! VB determines relationships between your projects modules in 4 possible ways :

  1. Through module level variables defined as an object type of one of the other modules in your project;
  2. Through Property Get, Let or Set blocks that have an object return type of one of the other modules in your project;
  3. Through Functions that return an object type of one of the other modules in your project.
  4. Through collection type modules (see 'Object or Collection ?' below) that have a method that has a return type of one of the other modules in your project.

Object or Collection ?

For the purposes of documentation, Document! VB seperates your projects modules into 'Objects' and 'Collections'.  Document! VB will class a module as a collection if it supports a method called 'NewEnum'.

Example

As a simple example to illustrate the logic described above, take a look at the following code and resulting object model diagram.

---Class XMLDocument

Public Root As Element

---End Class XMLDocument

---Class Element

Public Properties As Properties
Public Children As Elements

---End Class Element

---Class Properties

Public Function Item(Key As String) As Property
    ...
End Function

Public Function [_NewEnum] As IUnknown
    ...
End Function

--- End Class Properties

--- Class Property

...

--- End Class Property


The code above would be represented by Document! VB as the following overview diagram.